package com.maijinjie.common.util;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.web.context.ContextLoader;
import org.springframework.web.context.WebApplicationContext;
/**
 * srping工具类
 * @version 1.0
 * @author GhostarX ( 王欣逸 ) 100992995@qq.com
 * @data 2013-8-9 上午9:41:27
 */
public class SpringUtil {
	/** web的spring容器 */
	public static WebApplicationContext webAppContent;
	/** java的spring容器 */
	public static ApplicationContext appContent;

	/**
	 * 此方法直接获取resin、tomcat启动后的容器。
	 * @param beanId beanID
	 * @return Object bean类
	 * @version 1.0
	 * @author GhostarX ( 王欣逸 ) 100992995@qq.com 18902499340
	 * @data 2013-8-9 上午9:35:28
	 */
	public static Object getBeanByWeb(String beanId) {
		if (webAppContent == null) {
			webAppContent = ContextLoader.getCurrentWebApplicationContext();
		}
		return webAppContent.getBean(beanId);
	}

	/**
	 * 注意 ：此方法只能在main中使用。
	 * @param beanId beanID
	 * @return Object bean类
	 * @version 1.0
	 * @author GhostarX ( 王欣逸 ) 100992995@qq.com 18902499340
	 * @data 2013-8-9 上午9:35:48
	 */
	public static Object getBean(String beanId) {
		if (appContent == null) {
			// 主从数据库的初步化。
			String[] paths = {"classpath:/resources/spring/applicationContext_*.xml"};
			appContent = new ClassPathXmlApplicationContext(paths);
		}
		return appContent.getBean(beanId);
	}
}
